---
description:
  Discover essential developer tools for Apollo Angular including GraphQL Inspector, GraphQL
  Codegen, and more. Improve and maintain your GraphQL API with these powerful tools.
---

# Developer Tools

Thank you to our amazing community members who have created tools and packages around Apollo
Angular! If you’ve built something and would like it to be featured, please send a pull request to
add it to the list.

## Breaking Change Detection with GraphQL Inspector

[GraphQL Inspector](https://graphql-inspector.com) is a set of tools to help you better maintain and
improve GraphQL API as well as GraphQL consumers.

GraphQL Inspector outputs a list of changes between two GraphQL schemas. Every change is precisely
explained and marked as breaking, non-breaking or dangerous. It will help you validate documents and
fragments against a schema and even find similar or duplicated types.

Use GraphQL Inspector however you like:

- Command Line Tool
- [GitHub Application](https://graphql-inspector.com/docs/products/github)
- [GitHub Action](https://graphql-inspector.com/docs/products/action)
- Programmatic API

The way GraphQL Inspector is built enables you to use everything through a CLI or each feature
separately using one of many available packages. There's also a GitHub Application that you can
install and use within seconds. If you're a fan of GitHub Actions, we got you covered too.

![Breaking Change Detection with GraphQL Inspector](https://graphql-inspector.com/assets/img/github/app-action.jpg)

## Code Generation with GraphQL Codegen

A tool to generate a ready to use in your component, strongly typed Angular services, for every
defined query, mutation or subscription.

To learn more about the tool, please read the
["Apollo-Angular 1.2  —  using GraphQL in your apps just got a whole lot easier!"](https://medium.com/the-guild/apollo-angular-code-generation-7903da1f8559)
article.

More about Query, Mutation, Subscription services in
["Query, Mutation, Subscription services"](../data/services) chapter of Apollo Angular
documentation.

[Read documentation](https://graphql-code-generator.com/docs/plugins/typescript-apollo-angular).

```sh npm2yarn
npm i -D @graphql-codegen/cli @graphql-codegen/typescript-apollo-angular
```

## GraphQL ESLint

[GraphQL ESLint](https://github.com/B2o5T/graphql-eslint) is a parser, plugin and set rules for
GraphQL (for schema and operations). Easily customizable with custom rules. Integrates with IDEs and
modern GraphQL tools.

- Integrates with ESLint core (as a ESTree parser).
- Works on `.graphql` files, `gql` or `graphql` usages and `/* GraphQL */` magic comments.
- Lints both GraphQL schema and GraphQL operations.
- Extended type info for more advanced usages
- Supports ESLint directives (for example: `eslint-disable-next-line`)
- Easily extendable - supports custom rules based on GraphQL's AST and ESLint API.
- Validates, lints, prettifies and checks for best practices across GraphQL schema and GraphQL
  operations.
- Integrates with [`graphql-config`](https://graphql-config.com)
- Integrates and visualizes lint issues in popular IDEs (VSCode / WebStorm)

## Collection of GraphQL Scalars

[GraphQL Scalars](https://github.com/Urigo/graphql-scalars) is a library of custom GraphQL Scalars
for creating precise type-safe GraphQL schemas.

## Generate REST API Out of GraphQL

[Sofa](https://www.sofa-api.com) takes your GraphQL Schema, looks for available queries, mutations
and subscriptions and turns all of that into REST API.

```ts
import express from 'express';
import sofa from 'sofa-api';

const app = express();

app.use(sofa({ schema }));

app.listen();

// GET /users
// GET /messages
```

## Turn Anything into GraphQL API

[GraphQL Mesh](https://graphql-mesh.com/) allows you to use GraphQL query language to access data in
remote APIs that don't run GraphQL (and also ones that do run GraphQL).

## Develop GraphQL API with GraphQL Modules

[GraphQL Modules](https://graphql-modules.com) lets you separate your backend implementation to
small, reusable, easy-to-implement and easy-to-test pieces.

## Other Tools and Libraries

Packages listed above are specific to Angular, but it's possible to use any Apollo related package
with Apollo Angular.

- [Apollo Links created by community](https://www.apollographql.com/docs/link/links/community.html)
- [Official Apollo Links](https://apollographql.com/docs/link/#linkslist)
